package com.alibaba.algo.cooperation.feign.vo.res;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;

@Data
public class SysOrgVO{

    /**
     * 组织id
     */
    private Long id;

    /**
     * 组织编码
     */
    private String orgCode;

    /**
     * 组织名称
     */
    private String orgName;

    /**
     * 组织类型  1 组织 2部门
     */
    private Long orgType;

    /**
     * 组织状态   0无效  1有效
     */
    private Long orgState;

    /**
     * 组织描述
     */
    private String orgDesc;

    /**
     * 有效开始时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date expireStartTime;

    /**
     * 有效结束时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date expireEndTime;

    /**
     * 上级组织ID
     */
    private Long parentId;

    /**
     * 唯一标识
     */
    private String uuid;

    /**
     * 数据来源："501"-系统录入；"502"-SAP
     */
    private String dataSource;

    /**
     * 业务层级
     */
    private String businessLevel;

    /**
     * 部门分类："701"-行政组织；"702"-IPT组织；
     */
    private String departmentClassification;

    /**
     * 组织排序 全量接口中无，增量接口中有
     */
    private Integer sort;

    /**
     * (sys_employee_org）主部门标识
     */
    private String isPrimaryOrg;

    /**
     * 创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime gmtCreated;

    /**
     * 修改时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime gmtModified;

    /**
     * 删除标识
     */
    private String isDeleted;
}
